#!/bin/bash

# 容器名
CONTAINER_NAME="mysql_master"
# mysql 账号
MYSQL_USER="root"
# mysql 密码
MYSQL_PASSWORD="mqttMaster..."
# 备份路径
BACKUP_DIR="$(pwd)/backups"
# 备份文件名
BACKUP_CLOUD_FILE="${BACKUP_DIR}/$(date +'%Y%m%d_%H%M%S')_cloud.sql"
# 备份文件名
BACKUP_NACOS_FILE="${BACKUP_DIR}/$(date +'%Y%m%d_%H%M%S')_nacos.sql"

# 检查备份目录是否存在，如果不存在则创建
if [ ! -d "$BACKUP_DIR" ]; then
  mkdir -p "$BACKUP_DIR"
fi
# 开始备份cloud 数据库
docker exec -u root "$CONTAINER_NAME" mysqldump -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" "cloud" > "$BACKUP_CLOUD_FILE"
if [ $? -eq 0 ]; then
  echo "cloud数据库备份成功: $BACKUP_CLOUD_FILE"
else
  echo "cloud数据库备份失败"
  exit 1
fi
# 开始备份nacos 数据库
docker exec -u root "$CONTAINER_NAME" mysqldump -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" "nacos" > "$BACKUP_NACOS_FILE"
if [ $? -eq 0 ]; then
  echo "nacos数据库备份成功: $BACKUP_NACOS_FILE"
else
  echo "nacos数据库备份失败"
  exit 1
fi
# 如果两个备份都成功，则脚本正常退出
echo "所有数据库备份完成"
exit 0